/* 
 * Ardesia -- a program for painting on the screen
 * with this program you can play, draw, learn and teach
 * This program has been written such as a freedom sonet
 * We believe in the freedom and in the freedom of education
 *
 * Copyright (C) 2009 Pilolli Pietro <pilolli@fbk.eu>
 *
 * Ardesia is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Ardesia is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

 
/* 
   Copyright (c) 2010 ,
   Cloud Wu . All rights reserved.
 
   http://www.codingnow.com
 
   Use, modification and distribution are subject to the "New BSD License"
   as listed at <url: http://www.opensource.org/licenses/bsd-license.php >.

*/


#ifdef _WIN32

#include <windows.h>
#include <excpt.h>
#include <imagehlp.h>
#include <bfd.h>
#include <psapi.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdbool.h>

#define BUFFER_MAX (16*1024)


struct bfd_ctx {

  bfd *handle;

  asymbol **symbol;

};


struct bfd_set {

  char * name;

  struct bfd_ctx *bc;

  struct bfd_set *next;

};


struct find_info {

  asymbol **symbol;

  bfd_vma counter;

  const char *file;

  const char *func;

  unsigned line;

};


struct output_buffer {

  char * buf;

  size_t sz;

  size_t ptr;

};


/* Register the back-trace handler on windows */
void
windows_backtrace_register ();

#endif


